Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(application-system): Add validated config #15872

Merged
merged 28 commits into from
Oct 9, 2024

Conversation

norda-gunni
Copy link
Contributor

@norda-gunni norda-gunni commented Sep 3, 2024

...

Attach a link to issue if relevant

What

Specify what you're trying to achieve

Why

Specify why you need to achieve this

Screenshots / Gifs

Attach Screenshots / Gifs to help reviewers understand the scope of the pull request

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • Formatting passes locally with my changes
  • I have rebased against main before asking for a review

Summary by CodeRabbit

  • New Features

    • Introduced a shared module configuration to enhance modularization and reuse across the application.
    • Added a robust configuration management system for the Template API, ensuring all necessary parameters are validated and loaded correctly.
    • Added error handling for user profile data retrieval, improving user experience.
    • Introduced a new exported constant dynamicModules for improved module management.
  • Bug Fixes

    • Improved test configurations to utilize shared module settings, enhancing the reliability of test scenarios.
  • Refactor

    • Streamlined module definitions by replacing dynamic registration methods with decorator-based approaches for improved clarity and maintainability.
    • Updated configuration access methods across various services to utilize the new shared module configuration, enhancing modularity and code clarity.

Copy link
Contributor

coderabbitai bot commented Sep 3, 2024

Walkthrough

The changes involve updating the type parameter for ConfigService from BaseTemplateAPIModuleConfig to SharedModuleConfig across multiple service files, including PaymentService, UserProfileService, ParentalLeaveService, and ChildrenResidenceChangeService. New error handling has been implemented in the UserProfileService, and various methods have been adjusted to utilize the new configuration structure. Additionally, a new configuration schema is introduced in shared.config.ts, enhancing the overall configuration management.

Changes

Files Change Summary
libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.service.ts, libs/application/template-api-modules/src/lib/modules/shared/api/user-profile/user-profile.service.ts, libs/application/template-api-modules/src/lib/modules/shared/api/parental-leave/parental-leave.service.ts, libs/application/template-api-modules/src/lib/modules/shared/api/children-residence-change/children-residence-change.service.ts Updated configService type from ConfigService<BaseTemplateAPIModuleConfig> to ConfigService<SharedModuleConfig>.
libs/application/template-api-modules/src/lib/modules/shared/api/user-profile/user-profile.service.ts Enhanced userProfile method with error handling for bank account, email, and phone number validations.
libs/application/template-api-modules/src/lib/modules/shared/api/parental-leave/parental-leave.service.ts Modified getPdf method to utilize the new configuration structure for accessing the attachment bucket.
libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.service.ts Updated submitApplication method to retrieve S3 bucket name from this.config.templateApi.presignBucket.
libs/application/template-api-modules/src/lib/modules/templates/index.ts Introduced new exported constant dynamicModules, updated modules and services exports.
libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts Added new configuration schema for SharedModuleConfig using zod and exported sharedModuleConfig.

Possibly related PRs

Suggested labels

automerge

Suggested reviewers

  • Toti91
  • unakb
  • jonnigs
  • Ballioli

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

codecov bot commented Sep 3, 2024

Codecov Report

Attention: Patch coverage is 92.44444% with 17 lines in your changes missing coverage. Please review.

Project coverage is 36.73%. Comparing base (c836d9d) to head (f814d01).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...i-modules/src/lib/modules/shared/shared.service.ts 60.00% 16 Missing ⚠️
...dent-notification/accident-notification.service.ts 0.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #15872      +/-   ##
==========================================
- Coverage   36.78%   36.73%   -0.05%     
==========================================
  Files        6805     6805              
  Lines      140819   140762      -57     
  Branches    40023    40027       +4     
==========================================
- Hits        51799    51712      -87     
- Misses      89020    89050      +30     
Flag Coverage Δ
api 3.37% <ø> (ø)
application-system-api 41.51% <92.44%> (-0.17%) ⬇️
application-template-api-modules 28.04% <9.04%> (+4.00%) ⬆️
services-endorsements-api 54.18% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
apps/application-system/api/src/app/app.module.ts 100.00% <100.00%> (ø)
.../src/app/modules/application/application.module.ts 100.00% <ø> (ø)
.../application/template-api-modules/src/lib/index.ts 100.00% <100.00%> (ø)
...dules/shared/api/application/application.module.ts 100.00% <100.00%> (ø)
...f-immigration/directorate-of-immigration.module.ts 100.00% <100.00%> (ø)
...ared/api/driving-license/driving-license.module.ts 100.00% <100.00%> (ø)
...rc/lib/modules/shared/api/education/inna.module.ts 100.00% <100.00%> (ø)
...ed/api/health-insurance/health-insurance.module.ts 100.00% <100.00%> (ø)
...lib/modules/shared/api/identity/identity.module.ts 100.00% <100.00%> (ø)
...te-api-modules/src/lib/modules/shared/api/index.ts 100.00% <100.00%> (ø)
... and 88 more

... and 2 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c836d9d...f814d01. Read the comment docs.

@datadog-island-is
Copy link

datadog-island-is bot commented Sep 3, 2024

Datadog Report

All test runs 36e5d03 🔗

4 Total Test Services: 0 Failed, 4 Passed
🔻 Test Sessions change in coverage: 1 decreased (-0.03%), 1 increased (+3.81%), 4 no change

Test Services
Service Name Failed Known Flaky New Flaky Passed Skipped Total Time Code Coverage Change Test Service View
api 0 0 0 4 0 2.85s 1 no change Link
application-system-api 0 0 0 120 2 3m 26.15s 1 decreased (-0.03%) Link
application-template-api-modules 0 0 0 123 0 2m 13.87s 1 increased (+3.81%) Link
services-endorsements-api 0 0 0 42 0 53.13s 1 no change Link

🔻 Code Coverage Decreases vs Default Branch (1)

  • application-system-api - jest 37.11% (-0.03%) - Details

@norda-gunni norda-gunni force-pushed the feat/application-system-config branch 3 times, most recently from 4765bdc to a3cb4f6 Compare September 4, 2024 12:52
@norda-gunni norda-gunni marked this pull request as ready for review September 4, 2024 13:23
@norda-gunni norda-gunni requested review from a team as code owners September 4, 2024 13:23
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Outside diff range, codebase verification and nitpick comments (1)
libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts (1)

15-31: LGTM!

The sharedModuleConfig is well-defined using the defineConfig function, providing a standardized way of defining the shared module configuration. The load function ensures that the required environment variables are loaded and provides default values for some properties, enhancing the configurability of the module.

Consider adding a comment above the sharedModuleConfig constant to provide a brief description of its purpose and usage. This will improve the readability and maintainability of the code.

For example:

/**
 * Shared module configuration for the application.
 * Defines the schema and loads the configuration values from the environment variables.
 */
export const sharedModuleConfig = defineConfig({
  // ...
});
Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 9279407 and 4639d51.

Files selected for processing (11)
  • apps/application-system/api/src/app/app.module.ts (2 hunks)
  • apps/application-system/api/src/app/modules/application/e2e/application.spec.ts (3 hunks)
  • libs/application/template-api-modules/src/lib/index.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/index.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts (12 hunks)
  • libs/application/template-api-modules/src/lib/modules/template-api.config.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/template-api.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts (2 hunks)
Additional context used
Path-based instructions (11)
libs/application/template-api-modules/src/lib/modules/shared/index.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/index.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/template-api.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/template-api.config.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
apps/application-system/api/src/app/app.module.ts (1)

Pattern apps/**/*: "Confirm that the code adheres to the following:

  • NextJS best practices, including file structure, API routes, and static generation methods.
  • Efficient state management and server-side rendering techniques.
  • Optimal use of TypeScript for component and utility type safety."
libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
apps/application-system/api/src/app/modules/application/e2e/application.spec.ts (1)

Pattern apps/**/*: "Confirm that the code adheres to the following:

  • NextJS best practices, including file structure, API routes, and static generation methods.
  • Efficient state management and server-side rendering techniques.
  • Optimal use of TypeScript for component and utility type safety."
Additional comments not posted (26)
libs/application/template-api-modules/src/lib/modules/shared/index.ts (1)

3-3: LGTM!

The export statement for sharedModuleConfig is correctly implemented and enhances the module's functionality by allowing other parts of the application to import and utilize the shared configuration.

libs/application/template-api-modules/src/lib/index.ts (1)

3-3: LGTM!

The export statement for sharedModuleConfig is correctly implemented and enhances the module's reusability and configurability. It adheres to TypeScript best practices and facilitates effective tree-shaking and bundling.

libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts (2)

1-2: LGTM!

The imports adhere to the best practices and are necessary for defining and validating the shared module configuration.


4-13: LGTM!

The SharedModuleConfig schema is well-defined using the zod library, ensuring type safety and validation of the configuration properties. The schema includes all the necessary properties required for the shared module configuration.

libs/application/template-api-modules/src/lib/modules/template-api.module.ts (2)

12-13: LGTM!

The new import statements are required for the configuration setup in the register method.


20-22: LGTM!

The changes in the register method enhance the module's ability to load configuration settings at runtime, which aligns with the PR objective of introducing a validated configuration feature.

The changes also adhere to the additional instructions for files matching the path pattern libs/**/*:

  • The module is reusable across different NextJS apps.
  • TypeScript is used for defining the BaseTemplateAPIModuleConfig type.
  • The changes do not affect tree-shaking and bundling practices.
libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts (2)

14-14: LGTM!

The code changes are approved.


24-24: LGTM! Verify if the changes have been tested and documented.

The code changes are approved. The inclusion of sharedModuleConfig in the load array of ConfigModule.forRoot() enhances the module's configuration capabilities by allowing it to load settings from both the existing configuration and the newly added sharedModuleConfig.

Please ensure that:

  • The changes have been thoroughly tested to confirm that the module behaves as expected during initialization with the expanded configuration options.
  • The documentation has been updated to reflect the changes and provide guidance on how to utilize the new configuration options.
libs/application/template-api-modules/src/lib/modules/template-api.config.ts (2)

4-21: LGTM!

The configuration schema is well-defined using Zod. It covers the necessary fields for the template API module and ensures type safety and validation of the configuration values.


23-53: LGTM!

The configuration loading logic is correctly implemented using the defineConfig function from @island.is/nest/config. The usage of env.required ensures that the required environment variables are provided, and providing default values for some configuration fields enhances the developer experience.

apps/application-system/api/src/app/app.module.ts (1)

61-61: LGTM!

The code changes are approved for the following reasons:

  • The change enhances the module's functionality by integrating shared configurations.
  • The change is consistent with the existing code structure and follows the pattern of importing and adding other configurations to the imports array.
  • The change may facilitate better modularization and reuse of code across different parts of the application.
  • The change does not alter existing logic or control flow.
  • The change adheres to NextJS best practices and enhances the application's modularity and configurability.

Also applies to: 119-119

libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts (7)

2-2: LGTM!

The code changes are approved.


25-25: LGTM!

The code changes are approved.


37-38: LGTM!

The code changes are approved.


60-60: LGTM!

The code changes are approved.

Also applies to: 74-74, 91-91, 113-113, 140-140


93-93: LGTM!

The code changes are approved.

Also applies to: 114-114, 141-141


164-164: LGTM!

The code changes are approved.


256-256: LGTM!

The code changes are approved.

libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts (2)

25-26: LGTM!

The code changes are approved.


115-118: LGTM!

The code changes are approved.

libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts (2)

45-45: LGTM!

The import statement for sharedModuleConfig looks good.


238-241: LGTM!

The provider configuration for sharedModuleConfig.KEY in the test setup looks good. Using an empty object as the value is acceptable for the test setup.

apps/application-system/api/src/app/modules/application/e2e/application.spec.ts (4)

21-21: LGTM!

The import statement for sharedModuleConfig is approved.


60-69: LGTM!

The mockConfig object is approved. It provides the necessary mock configuration values for testing purposes.


89-90: LGTM!

The provider override for sharedModuleConfig.KEY is approved. It allows the test environment to utilize the mockConfig object, facilitating more controlled and predictable tests.


Line range hint 1-1000: Overall assessment: The test file follows good practices and makes optimal use of TypeScript.

The application.spec.ts file is an end-to-end test file for the application module. While it does not directly involve NextJS-specific concepts or techniques, it follows good practices for setting up the testing environment, defining mock services, and writing comprehensive test cases.

The file is written in TypeScript, which provides type safety and improves the maintainability of the test code. The use of NestJS testing utilities and the structuring of the test cases demonstrate a solid understanding of testing best practices.

Overall, the file adheres to good testing practices and makes optimal use of TypeScript to ensure a robust and maintainable test suite.

Copy link
Member

@Toti91 Toti91 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One comment, otherwise I think @obmagnusson should review this also

@norda-gunni norda-gunni added the automerge Merge this PR as soon as all checks pass label Sep 9, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 4639d51 and 59de629.

Files selected for processing (1)
  • apps/application-system/api/src/app/modules/application/e2e/application.spec.ts (3 hunks)
Files skipped from review due to trivial changes (1)
  • apps/application-system/api/src/app/modules/application/e2e/application.spec.ts

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Outside diff range, codebase verification and nitpick comments (1)
libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts (1)

13-13: Potential Issue with Module Initialization

The OfficialJournalOfIcelandTemplateModule still defines a register method, indicating that it might require configuration. The simplified import statement without the registration step could lead to issues if the module is expected to be initialized with specific configurations.

  • Review the initialization requirements of OfficialJournalOfIcelandTemplateModule to ensure that the change does not compromise its functionality.
Analysis chain

LGTM, but verify the module functionality.

The change simplifies the import statement by directly importing SharedTemplateAPIModule without the registration step.

However, ensure that this change is thoroughly tested to confirm that it does not break the functionality of OfficialJournalOfIcelandTemplateModule.

Run the following script to verify the module functionality:

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the functionality of `OfficialJournalOfIcelandTemplateModule`.

# Test: Search for the module usage. Expect: No errors related to the module initialization or usage.
rg --type typescript -A 5 $'OfficialJournalOfIcelandTemplateModule'

Length of output: 101


Script:

#!/bin/bash
# Description: Verify the functionality of `OfficialJournalOfIcelandTemplateModule`.

# Test: Search for the module usage in TypeScript files. Expect: No errors related to the module initialization or usage.
rg --glob '*.ts' -A 5 'OfficialJournalOfIcelandTemplateModule'

Length of output: 3397

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between bd501cb and efacdc5.

Files selected for processing (73)
  • apps/application-system/api/src/app/modules/application/application.module.ts (2 hunks)
  • libs/application/template-api-modules/README.md (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts (13 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts (3 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/general-petition/general-petition.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-creation/parliamentary-list-creation.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-company-card/digital-tachograph-company-card.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts (1 hunks)
Files skipped from review due to trivial changes (2)
  • apps/application-system/api/src/app/modules/application/application.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-company-card/digital-tachograph-company-card.module.ts
Files skipped from review as they are similar to previous changes (2)
  • libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts
  • libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts
Additional context used
Path-based instructions (69)
libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/general-petition/general-petition.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-creation/parliamentary-list-creation.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/README.md (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
Additional comments not posted (80)
libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts (1)

11-11: LGTM, but verify the SharedTemplateAPIModule usage.

The change simplifies the import statement by removing the config parameter from the SharedTemplateAPIModule.register call. This is approved.

However, ensure that this change is thoroughly tested to confirm that the SharedTemplateAPIModule can function correctly within the PassportModule without receiving configuration parameters upon registration.

Run the following script to verify the SharedTemplateAPIModule usage:

libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts (1)

13-13: LGTM, but verify the SharedTemplateAPIModule usage.

The change simplifies the import statement by removing the config parameter from the SharedTemplateAPIModule.register call. This is approved.

However, ensure that this change is thoroughly tested to confirm that the SharedTemplateAPIModule can function correctly within the HomeSupportModule without receiving configuration parameters upon registration.

Run the following script to verify the SharedTemplateAPIModule usage:

libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts (1)

14-14: LGTM, but verify the SharedTemplateAPIModule usage.

The change simplifies the import statement by removing the config parameter from the SharedTemplateAPIModule.register call. This is approved.

However, ensure that this change is thoroughly tested to confirm that the SharedTemplateAPIModule can function correctly within the EstateTemplateModule without receiving configuration parameters upon registration.

Run the following script to verify the SharedTemplateAPIModule usage:

libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts (1)

11-11: LGTM, but verify the impact of removing the dynamic configuration.

The change simplifies the module registration by directly importing SharedTemplateAPIModule without passing any configuration. This is approved.

However, ensure that the removal of the dynamic configuration aspect has been thoroughly tested to confirm that it does not introduce any unintended side effects or break existing functionality.

Run the following script to verify the impact:

Verification successful

No impact from removing dynamic configuration for SharedTemplateAPIModule.

The search confirmed that there are no occurrences of SharedTemplateAPIModule.register in the codebase, indicating that the dynamic configuration method is not used elsewhere. This supports the change made in the module registration, suggesting it does not introduce any unintended side effects or break existing functionality.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` after removing the dynamic configuration.

# Test: Search for the module usage. Expect: No occurrences of `SharedTemplateAPIModule.register(config)`.
rg --type typescript -A 5 $'SharedTemplateAPIModule.register'

Length of output: 95


Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` after removing the dynamic configuration.

# Test: Search for the module usage. Expect: No occurrences of `SharedTemplateAPIModule.register(config)`.
rg --type ts -A 5 $'SharedTemplateAPIModule.register'

Length of output: 52

libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts (1)

10-10: LGTM, but verify the impact of removing the dynamic configuration.

The change simplifies the module registration by directly importing SharedTemplateAPIModule without passing any configuration. This is approved.

However, ensure that the removal of the dynamic configuration aspect has been thoroughly tested to confirm that it does not introduce any unintended side effects or break existing functionality, particularly in terms of how the DigitalTachographWorkshopCardModule interacts with its dependencies.

Run the following script to verify the impact:

Verification successful

Change is consistent with existing codebase practices.

The direct import of SharedTemplateAPIModule without dynamic configuration aligns with the existing usage pattern across the codebase. No occurrences of SharedTemplateAPIModule.register were found, indicating that the change does not impact other modules. The change simplifies module registration and is unlikely to introduce unintended side effects.

  • No further action is required as the change is consistent with existing practices.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` after removing the dynamic configuration.

# Test: Search for the module usage. Expect: No occurrences of `SharedTemplateAPIModule.register(baseConfig)`.
rg --type typescript -A 5 $'SharedTemplateAPIModule.register'

Length of output: 95


Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` after removing the dynamic configuration.

# Test: Search for the module usage. Expect: No occurrences of `SharedTemplateAPIModule.register(baseConfig)`.
rg --type ts -A 5 $'SharedTemplateAPIModule.register'

Length of output: 52


Script:

#!/bin/bash
# Description: Verify any usage of `SharedTemplateAPIModule` in the codebase.

# Test: Search for any occurrences of `SharedTemplateAPIModule`.
rg --type ts -A 5 $'SharedTemplateAPIModule'

Length of output: 135010

libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts (1)

11-11: LGTM, but verify the impact of removing the dynamic configuration.

The change simplifies the module registration by directly including SharedTemplateAPIModule and FishingLicenseClientModule without passing any configuration. This is approved.

However, ensure that the removal of the dynamic configuration aspect has been thoroughly tested to confirm that it does not introduce any unintended side effects or break existing functionality, particularly in terms of how the GeneralFishingLicenseModule interacts with its dependencies and manages configurations.

Run the following script to verify the impact:

Verification successful

Verification successful: No dynamic configuration usage found.

The search confirmed that SharedTemplateAPIModule.register is not used elsewhere in the codebase. This supports the change to static imports, ensuring no unintended side effects from removing the dynamic configuration. The change is approved.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` after removing the dynamic configuration.

# Test: Search for the module usage. Expect: No occurrences of `SharedTemplateAPIModule.register(config)`.
rg --type typescript -A 5 $'SharedTemplateAPIModule.register'

Length of output: 95


Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` after removing the dynamic configuration.

# Test: Search for the module usage. Expect: No occurrences of `SharedTemplateAPIModule.register(config)`.
rg --type ts -A 5 $'SharedTemplateAPIModule.register'

Length of output: 52

libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts (1)

15-15: LGTM! The change simplifies the module registration.

The removal of the dynamic configuration aspect in the module registration may impact the module's initialization and dependency resolution. Ensure that the module's behavior remains as expected after this change.

libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts (1)

11-11: LGTM! The change simplifies the module registration.

The removal of the dynamic configuration aspect in the module registration may impact the module's initialization and dependency resolution. Ensure that the module's behavior remains as expected after this change.

libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts (1)

11-11: LGTM! The change simplifies the module registration.

The removal of the dynamic configuration aspect in the module registration may impact the module's initialization and dependency resolution. Ensure that the module's behavior remains as expected after this change.

libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts (1)

13-13: Verify the impact of simplifying the SharedTemplateAPIModule import.

The change simplifies the module registration by directly importing SharedTemplateAPIModule without any configuration. This adheres to the reusability guideline by simplifying the module import process.

However, ensure that removing the config parameter does not break the initialization or alter the expected behavior of SharedTemplateAPIModule. Verify that the module functions correctly without the provided configuration.

libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts (1)

17-17: Verify the impact of simplifying the SharedTemplateAPIModule import.

The change simplifies the module registration by directly importing SharedTemplateAPIModule without any configuration. This adheres to the reusability guideline by simplifying the module import process.

However, ensure that removing the config parameter does not break the initialization or alter the expected behavior of SharedTemplateAPIModule. Verify that the module functions correctly without the provided configuration.

libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts (1)

16-16: Verify the impact of simplifying the SharedTemplateAPIModule import.

The change simplifies the module registration by directly importing SharedTemplateAPIModule without any configuration. This adheres to the reusability guideline by simplifying the module import process.

However, ensure that removing the config parameter does not break the initialization or alter the expected behavior of SharedTemplateAPIModule. Verify that the module functions correctly without the provided configuration.

libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts (1)

17-17: Simplified module registration looks good, but verify SharedTemplateAPIModule's reusability and tree-shaking aspects.

The change simplifies the module registration by removing the dynamic configuration aspect, which is a good improvement.

However, please ensure that the SharedTemplateAPIModule can be used effectively without any custom configuration. Also, verify that the module adheres to the following:

  • Reusability across different NextJS apps.
  • Effective tree-shaking and bundling practices.
libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts (1)

16-16: Simplified module import looks good, but verify SharedTemplateAPIModule's behavior and its impact.

The change shifts towards a default or static configuration for the SharedTemplateAPIModule, which simplifies the module import process.

However, please ensure that the SharedTemplateAPIModule can operate correctly without the previous custom configuration. Also, assess the impact of this change on the control flow and logic of the CriminalRecordSubmissionModule.

libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts (1)

13-13: Simplified module import looks good, but verify SharedTemplateAPIModule's behavior and its impact on the healthcare work permit module.

The change removes the custom configuration for the SharedTemplateAPIModule, potentially leading to a default configuration being used.

Please ensure that the SharedTemplateAPIModule can function correctly with the default configuration within the HealthcareWorkPermitModule. Also, assess the implications of this change on the functionality of the healthcare work permit module.

libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts (1)

16-16: Verify the impact of removing the dynamic configuration.

The change simplifies the module registration by removing the dynamic configuration aspect. This could impact the behavior of SharedTemplateAPIModule within CarRecyclingModule if it relies on the provided configuration.

Verify that removing the dynamic configuration does not break the functionality of CarRecyclingModule. Ensure that any necessary configuration is handled appropriately.

Additionally, confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices.
libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts (1)

14-14: Verify the impact of removing the dynamic configuration.

The change simplifies the module registration by removing the dynamic configuration aspect. This could impact the behavior of SharedTemplateAPIModule within MarriageConditionsSubmissionModule if it relies on the provided configuration.

Verify that removing the dynamic configuration does not break the functionality of MarriageConditionsSubmissionModule. Ensure that any necessary configuration is handled appropriately.

Additionally, confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices.
libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts (1)

13-13: Verify the impact of removing the dynamic configuration.

The change simplifies the module registration by removing the dynamic configuration aspect. This could impact the behavior of SharedTemplateAPIModule within MortgageCertificateSubmissionModule if it relies on the provided configuration.

Verify that removing the dynamic configuration does not break the functionality of MortgageCertificateSubmissionModule. Ensure that any necessary configuration is handled appropriately.

Additionally, confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices.
libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts (1)

14-14: LGTM, but verify the module behavior.

The change simplifies the module registration by removing the dynamic configuration, which aligns with the refactoring of SharedTemplateAPIModule.

However, ensure that the removal of baseConfig does not affect the expected behavior of NoDebtCertificateModule. Verify that the module functions correctly without the dynamic configuration.

libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts (1)

11-23: Changes look good! Previous review comments addressed.

The refactoring of SharedTemplateAPIModule simplifies the module structure and improves readability by:

  • Removing the register method and directly defining the module configuration using the @Module decorator.
  • Eliminating the dynamic registration, which aligns with the previous review comments.
  • Adding ApplicationModule to enhance the module's capabilities.
  • Shifting away from dynamic configuration loading by removing ConfigModule.

These changes effectively address the concerns raised in the previous review comments. The module is now more streamlined and easier to understand.

libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts (1)

17-17: LGTM, but verify the module behavior.

The change simplifies the module registration by removing the dynamic configuration, which aligns with the refactoring of SharedTemplateAPIModule.

However, ensure that the removal of config does not affect the expected behavior of IdCardModule. Verify that the module functions correctly without the dynamic configuration.

libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts (1)

15-15: Simplification of SharedTemplateAPIModule import looks good, but verify the impact.

The change simplifies the usage of SharedTemplateAPIModule by removing the need to provide a configuration object during import, which aligns with similar modifications made in other files.

However, please ensure that this change does not introduce any unintended consequences in terms of the behavior and integration of SharedTemplateAPIModule within ChildrenResidenceChangeModuleV2. Verify that the module continues to function as expected without the configuration object.

libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts (1)

18-18: Simplification of SharedTemplateAPIModule import is approved, but verify the impact of removing the configuration parameter.

The change simplifies the import statement by removing the configuration parameter from the import process, indicating a shift in how SharedTemplateAPIModule is intended to be used or instantiated within DrivingLearnersPermitModule.

However, please ensure that removing the configuration parameter does not introduce any issues or inconsistencies in the module's behavior. Verify that the module continues to function as expected without the explicit configuration.

libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts (1)

19-19: Simplification of SharedTemplateAPIModule import is approved, but verify the impact on the module's behavior and integration.

The change suggests a shift in how SharedTemplateAPIModule is integrated within GrindavikHousingBuyoutModule, potentially indicating that the module can now be used without specific configuration parameters or that the configuration is handled elsewhere. This aligns with similar modifications made in other files.

However, please ensure that this change does not introduce any unintended consequences in terms of the behavior and integration of SharedTemplateAPIModule within GrindavikHousingBuyoutModule. Verify that the module continues to function as expected without the explicit configuration.

libs/application/template-api-modules/src/lib/modules/templates/general-petition/general-petition.module.ts (1)

14-14: Verify the impact of removing the configuration for SharedTemplateAPIModule.

The SharedTemplateAPIModule is now directly imported without any configuration. This simplifies the module's import process.

However, ensure that removing the configuration does not break any functionality or cause unintended side effects. If the SharedTemplateAPIModule requires specific configuration settings, consider refactoring to use a shared configuration module or provider.

libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts (1)

15-15: Verify the impact of removing the configuration for SharedTemplateAPIModule.

The SharedTemplateAPIModule is now directly imported without any configuration. This simplifies the module's import process.

However, ensure that removing the configuration does not break any functionality or cause unintended side effects. If the SharedTemplateAPIModule requires specific configuration settings, consider refactoring to use a shared configuration module or provider.

Additionally, verify that the default settings applied by the SharedTemplateAPIModule are appropriate for the DocumentProviderOnboardingModule and do not lead to unexpected behavior.

libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts (1)

18-18: Verify the impact of removing the configuration for SharedTemplateAPIModule.

The SharedTemplateAPIModule is now directly imported without any configuration. This simplifies the module registration process.

However, ensure that removing the dynamic configuration does not break any functionality or cause unintended side effects. If the SharedTemplateAPIModule requires specific configuration settings based on the baseConfig, consider refactoring to use a shared configuration module or provider.

Verify that the DrivingLicenseDuplicateModule can function correctly without the dynamic configuration aspect.

libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts (1)

18-18: LGTM!

The change simplifies the module registration process by directly importing SharedTemplateAPIModule instead of calling its register method with a configuration parameter. This adheres to the reusability and effective bundling practices mentioned in the additional instructions.

libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts (1)

18-18: LGTM!

The change simplifies the module's import structure by directly including SharedTemplateAPIModule and SignatureCollectionClientModule instead of using the dynamic registration approach. This adheres to the reusability and effective bundling practices mentioned in the additional instructions.

libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts (1)

18-18: LGTM!

The change simplifies the module's import structure by directly including SharedTemplateAPIModule and SignatureCollectionClientModule instead of using the dynamic registration approach. This adheres to the reusability and effective bundling practices mentioned in the additional instructions.

libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts (1)

16-16: Simplification of module registration looks good, but verify the impact.

The change simplifies the module registration by removing the dynamic configuration aspect, which is a good refactoring.

However, ensure that this change is thoroughly tested to confirm that it does not break any functionality that may have relied on the previous dynamic configuration.

Run the following script to verify the module usage:

Verification successful

Verification successful: Simplification of module registration is safe.

The change from SharedTemplateAPIModule.register(baseConfig) to SharedTemplateAPIModule does not impact the codebase negatively, as there is no evidence of the register method being used elsewhere. The simplification is safe and does not break any existing functionality.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify `LicensePlateRenewalModule` usage and check for any dynamic configuration.

# Test: Search for the module usage. Expect: No usage of `LicensePlateRenewalModule.register`.
rg --type typescript -A 5 $'LicensePlateRenewalModule'

Length of output: 88


Script:

#!/bin/bash
# Description: Verify `LicensePlateRenewalModule` usage and check for any dynamic configuration.

# Test: Search for the module usage. Expect: No usage of `LicensePlateRenewalModule.register`.
rg --type ts -A 5 $'LicensePlateRenewalModule'

Length of output: 3538

libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts (1)

16-16: Simplification of module registration looks good, but verify the impact.

The change simplifies the module registration by removing the dynamic configuration aspect, which is a good refactoring.

However, ensure that this change is thoroughly tested to confirm that it does not break any functionality that may have relied on the previous dynamic configuration.

Run the following script to verify the module usage:

Verification successful

Simplification of module registration appears safe, but ensure thorough testing.

The change to remove the dynamic configuration from HealthcareLicenseCertificateModule seems safe as there are no calls to HealthcareLicenseCertificateModule.register found in the codebase. However, it is important to test the application to ensure that no indirect dependencies or configurations are affected by this change.

  • Ensure that the application is thoroughly tested to confirm that the removal of dynamic configuration does not impact any functionality.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify `HealthcareLicenseCertificateModule` usage and check for any dynamic configuration.

# Test: Search for the module usage. Expect: No usage of `HealthcareLicenseCertificateModule.register`.
rg --type typescript -A 5 $'HealthcareLicenseCertificateModule'

Length of output: 97


Script:

#!/bin/bash
# Description: Verify `HealthcareLicenseCertificateModule` usage and check for any dynamic configuration.

# Test: Search for the module usage. Expect: No usage of `HealthcareLicenseCertificateModule.register`.
rg --type ts -A 5 $'HealthcareLicenseCertificateModule'

Length of output: 3423

libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-creation/parliamentary-list-creation.module.ts (1)

18-18: Simplification of module registration looks good, but verify the impact.

The change simplifies the module registration by removing the dynamic configuration aspect, which is a good refactoring.

However, ensure that this change is thoroughly tested to confirm that it does not break any functionality that may have relied on the previous dynamic configuration.

Run the following script to verify the module usage:

Verification successful

Verification successful: Simplification of module registration is safe.

The change to simplify the module registration by removing the dynamic configuration aspect does not impact the functionality of the modules. There is no evidence of dynamic configuration usage that would be affected by this change.

  • ParliamentaryListCreationModule is used without dynamic configuration.
  • SharedTemplateAPIModule.register is not used anywhere, confirming no dynamic configuration.
  • SignatureCollectionClientModule is used in a straightforward manner.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify `ParliamentaryListCreationModule` usage and check for any dynamic configuration.

# Test: Search for the module usage. Expect: No usage of `ParliamentaryListCreationModule.register`.
rg --type typescript -A 5 $'ParliamentaryListCreationModule'

Length of output: 94


Script:

#!/bin/bash
# Description: Verify `ParliamentaryListCreationModule` usage and check for any dynamic configuration.

# Test: Search for the module usage in TypeScript files.
rg --glob '*.ts' -A 5 'ParliamentaryListCreationModule'

# Test: Check for any dynamic configuration usage of `SharedTemplateAPIModule`.
rg --glob '*.ts' -A 5 'SharedTemplateAPIModule.register'

# Test: Check for any usage of `SignatureCollectionClientModule`.
rg --glob '*.ts' -A 5 'SignatureCollectionClientModule'

Length of output: 11434

libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts (1)

16-16: LGTM, but verify the module functionality.

The change simplifies the import statement by directly importing SharedTemplateAPIModule without any configuration.

However, ensure that this change is thoroughly tested to confirm that it does not affect the functionality of HealthInsuranceDeclarationModule.

Run the following script to verify the module functionality:

libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts (1)

16-16: LGTM, but verify the module functionality.

The change simplifies the module's initialization and configuration behavior by directly importing SharedTemplateAPIModule without any configuration.

However, ensure that this change is thoroughly tested to confirm that it does not affect the functionality of AnonymityInVehicleRegistryModule.

Run the following script to verify the module functionality:

Verification successful

Change verified successfully.

The modification to directly import SharedTemplateAPIModule without configuration does not affect the functionality of AnonymityInVehicleRegistryModule. The module is used correctly in the codebase without any errors or issues.

  • The module is defined and used as expected.
  • No errors related to its initialization or usage were found.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the functionality of `AnonymityInVehicleRegistryModule`.

# Test: Search for the module usage. Expect: No errors related to the module initialization or usage.
rg --type typescript -A 5 $'AnonymityInVehicleRegistryModule'

Length of output: 95


Script:

#!/bin/bash
# Description: Verify the functionality of `AnonymityInVehicleRegistryModule`.

# Test: Search for the module usage. Expect: No errors related to the module initialization or usage.
rg --type ts -A 5 $'AnonymityInVehicleRegistryModule'

Length of output: 3674

libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts (1)

17-17: Simplify module registration, but verify the impact on SharedTemplateAPIModule.

The change simplifies the module registration by directly importing SharedTemplateAPIModule without any configuration. This aligns with the PR objective of introducing a validated configuration feature.

However, ensure that this change does not adversely impact the behavior of SharedTemplateAPIModule within FinancialStatementsInaoTemplateModule, especially if it relied on the previous configuration.

Run the following script to verify the usage of SharedTemplateAPIModule:

Verification successful

Verification Successful: Simplification of Module Registration

The simplification of the module registration by directly importing SharedTemplateAPIModule does not adversely impact its behavior within FinancialStatementsInaoTemplateModule. The module is used without any specific configuration, aligning with the PR's objective.

  • libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` in `FinancialStatementsInaoTemplateModule`.

# Test: Search for the usage of `SharedTemplateAPIModule`. Expect: No issues due to the removal of configuration.
rg --type typescript -A 5 $'SharedTemplateAPIModule' $(fd --type file --glob "*financial-statements-inao*")

Length of output: 493


Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` in `FinancialStatementsInaoTemplateModule`.

# Test: Search for the usage of `SharedTemplateAPIModule`. Expect: No issues due to the removal of configuration.
rg --type ts -A 5 $'SharedTemplateAPIModule' $(fd --type file --glob "*financial-statements-inao*")

Length of output: 2437

libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts (1)

20-20: Simplify module registration, but verify the impact on SharedTemplateAPIModule.

The change simplifies the module registration by directly importing SharedTemplateAPIModule without any configuration. This aligns with the PR objective of introducing a validated configuration feature.

However, ensure that this change does not adversely impact the behavior of SharedTemplateAPIModule within EnergyFundsModule, especially if it relied on the previous configuration.

Run the following script to verify the usage of SharedTemplateAPIModule:

Verification successful

Simplification of module registration verified successfully.

The SharedTemplateAPIModule is imported and used without any specific configuration in the EnergyFundsModule. This aligns with the PR's objective of simplifying module registration, and there is no evidence of adverse impact on its behavior.

  • libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts: Import and usage of SharedTemplateAPIModule.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` in `EnergyFundsModule`.

# Test: Search for the usage of `SharedTemplateAPIModule`. Expect: No issues due to the removal of configuration.
rg --type typescript -A 5 $'SharedTemplateAPIModule' $(fd --type file --glob "*energy-funds*")

Length of output: 329


Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` in `EnergyFundsModule`.

# Test: Search for the usage of `SharedTemplateAPIModule` in TypeScript files related to energy-funds.
rg 'SharedTemplateAPIModule' $(fd --type file --extension ts --glob "*energy-funds*") -A 5

Length of output: 1970

libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts (1)

19-19: Simplify module registration, but verify the impact on SharedTemplateAPIModule.

The change simplifies the module registration by directly importing SharedTemplateAPIModule without any configuration. This aligns with the PR objective of introducing a validated configuration feature.

However, ensure that this change does not adversely impact the behavior of SharedTemplateAPIModule within HealthInsuranceModule, especially if it relied on the previous configuration.

Run the following script to verify the usage of SharedTemplateAPIModule:

Verification successful

Verification Successful: No Issues Found with SharedTemplateAPIModule Import

The direct import of SharedTemplateAPIModule without additional configuration in HealthInsuranceModule aligns with existing practices in the codebase. This change does not adversely impact the behavior of SharedTemplateAPIModule within HealthInsuranceModule or other modules.

  • The usage pattern is consistent across modules like EuropeanHealthInsuranceCardModule and HealthInsuranceDeclarationModule.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` in `HealthInsuranceModule`.

# Test: Search for the usage of `SharedTemplateAPIModule`. Expect: No issues due to the removal of configuration.
rg --type typescript -A 5 $'SharedTemplateAPIModule' $(fd --type file --glob "*health-insurance*")  

Length of output: 2219


Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` in `HealthInsuranceModule`.

# Corrected Test: Search for the usage of `SharedTemplateAPIModule` in TypeScript files.
rg 'SharedTemplateAPIModule' $(fd --type file --extension ts --glob "*health-insurance*") -A 5

Length of output: 7935

libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts (1)

16-16: Verify the removal of the configuration object.

The change simplifies the registration of the SharedTemplateAPIModule by removing the dynamic configuration aspect. However, please ensure that:

  • The removal of the configuration object is intentional and does not break the functionality.
  • The SharedTemplateAPIModule works correctly without the configuration.

To verify the impact of this change, run the following script:

Verification successful

Verified: Removal of the configuration object is consistent with current usage.

The SharedTemplateAPIModule is used across various modules without any configuration, and there is no evidence of a register method being defined or used. The change to import SharedTemplateAPIModule without configuration is consistent with its usage across the codebase. No issues were found.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` and its configuration.

# Test 1: Search for the usage of `SharedTemplateAPIModule`. Expect: No usage of `SharedTemplateAPIModule.register(config)`.
rg --type typescript -A 5 $'SharedTemplateAPIModule'

# Test 2: Search for the definition of `SharedTemplateAPIModule`. Expect: No usage of configuration object in the module definition.
ast-grep --lang typescript --pattern $'class SharedTemplateAPIModule {
  $$$
  static register($$$) {
    $$$
  }
  $$$
}'

Length of output: 210


Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` and its configuration.

# Test 1: Search for the usage of `SharedTemplateAPIModule` without specifying a file type.
rg -A 5 'SharedTemplateAPIModule'

# Test 2: Verify the definition of `SharedTemplateAPIModule` and check for the `register` method.
ast-grep --lang typescript --pattern $'class SharedTemplateAPIModule {
  $$$
  static register($$$) {
    $$$
  }
  $$$
}'

Length of output: 136092

libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts (1)

16-16: Verify the removal of the configuration object.

The change simplifies the registration of the SharedTemplateAPIModule by removing the dynamic configuration aspect. However, please ensure that:

  • The removal of the configuration object is intentional and does not break the functionality.
  • The SharedTemplateAPIModule works correctly without the configuration.

To verify the impact of this change, run the following script:

Verification successful

Verification Successful: Configuration Object Removal

The removal of the configuration object from SharedTemplateAPIModule appears to be intentional and does not affect functionality. The module is used across various files without any configuration, and there is no evidence of a register method requiring configuration.

  • The SharedTemplateAPIModule is imported and used without configuration in multiple modules.
  • No register method was found in the SharedTemplateAPIModule class.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` and its configuration.

# Test 1: Search for the usage of `SharedTemplateAPIModule`. Expect: No usage of `SharedTemplateAPIModule.register(config)`.
rg --type typescript -A 5 $'SharedTemplateAPIModule'

# Test 2: Search for the definition of `SharedTemplateAPIModule`. Expect: No usage of configuration object in the module definition.
ast-grep --lang typescript --pattern $'class SharedTemplateAPIModule {
  $$$
  static register($$$) {
    $$$
  }
  $$$
}'

Length of output: 210


Script:

#!/bin/bash
# Description: Re-verify the usage of `SharedTemplateAPIModule` and its configuration.

# Test 1: Search for the usage of `SharedTemplateAPIModule` without specifying a file type.
rg -A 5 'SharedTemplateAPIModule'

# Test 2: Verify the definition of `SharedTemplateAPIModule` and its register method.
ast-grep --lang typescript --pattern $'class SharedTemplateAPIModule {
  $$$
  static register($_) {
    $$$
  }
  $$$
}'

Length of output: 136091

libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts (1)

17-17: Verify the removal of the configuration object.

The change simplifies the registration of the SharedTemplateAPIModule by removing the dynamic configuration aspect. However, please ensure that:

  • The removal of the configuration object is intentional and does not break the functionality.
  • The SharedTemplateAPIModule works correctly without the configuration.

To verify the impact of this change, run the following script:

Verification successful

Removal of configuration object is consistent and does not introduce issues.

The SharedTemplateAPIModule is used across multiple modules without any configuration, and there is no evidence of a register method requiring configuration. The change to import SharedTemplateAPIModule without configuration aligns with its usage pattern and should not affect functionality.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` and its configuration.

# Test 1: Search for the usage of `SharedTemplateAPIModule`. Expect: No usage of `SharedTemplateAPIModule.register(config)`.
rg --type typescript -A 5 $'SharedTemplateAPIModule'

# Test 2: Search for the definition of `SharedTemplateAPIModule`. Expect: No usage of configuration object in the module definition.
ast-grep --lang typescript --pattern $'class SharedTemplateAPIModule {
  $$$
  static register($$$) {
    $$$
  }
  $$$
}'

Length of output: 210


Script:

#!/bin/bash
# Description: Verify the usage of `SharedTemplateAPIModule` and its configuration.

# Test 1: Search for the usage of `SharedTemplateAPIModule` without specifying file type.
rg -A 5 'SharedTemplateAPIModule'

# Test 2: Confirm the existence of `SharedTemplateAPIModule` and its `register` method.
ast-grep --lang typescript --pattern $'class SharedTemplateAPIModule {
  $$$
  static register($_) {
    $$$
  }
  $$$
}'

Length of output: 136091

libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts (1)

17-17: Verify the impact of simplifying the SharedTemplateAPIModule import.

The change simplifies the import of SharedTemplateAPIModule by removing the configuration parameter. This may affect how dependencies are managed and initialized within the application.

Verify that this change does not introduce any unexpected behavior or break the application's functionality. Ensure that the module is properly initialized and that any necessary configurations are correctly applied.

Run the following script to search for potential issues:

libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts (1)

16-16: Verify the impact of simplifying the SharedTemplateAPIModule import.

The change simplifies the import of SharedTemplateAPIModule by removing the configuration parameter. This may affect how dependencies are managed and initialized within the application.

Verify that this change does not introduce any unexpected behavior or break the application's functionality. Ensure that the module is properly initialized and that any necessary configurations are correctly applied.

Run the following script to search for potential issues:

libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts (1)

17-17: Verify the impact of simplifying the SharedTemplateAPIModule import.

The change simplifies the import of SharedTemplateAPIModule by removing the configuration parameter. This may affect how dependencies are managed and initialized within the application.

Verify that this change does not introduce any unexpected behavior or break the application's functionality. Ensure that the module is properly initialized and that any necessary configurations are correctly applied.

Run the following script to search for potential issues:

Verification successful

Verification successful: No issues found with the simplified SharedTemplateAPIModule import.

The change to simplify the import of SharedTemplateAPIModule by removing the configuration parameter does not appear to introduce any unexpected behavior or break the application's functionality. No error logs or instances of the old import pattern were found.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Search for potential issues related to the simplified SharedTemplateAPIModule import.

# Test 1: Search for any error logs related to SharedTemplateAPIModule initialization.
rg --type log -i "SharedTemplateAPIModule.*error"

# Test 2: Search for usage of the old SharedTemplateAPIModule import with configuration.
rg --type typescript $'SharedTemplateAPIModule\.register\('

Length of output: 296


Script:

#!/bin/bash
# Description: Search for potential issues related to the simplified SharedTemplateAPIModule import.

# Test 1: Search for any error logs related to SharedTemplateAPIModule initialization.
rg -i "SharedTemplateAPIModule.*error"

# Test 2: Search for usage of the old SharedTemplateAPIModule import with configuration.
rg $'SharedTemplateAPIModule\\.register\\(' --glob '*.ts'

Length of output: 97

libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts (1)

16-16: Simplification of shared module registration looks good, but verify the impact.

The change simplifies the module registration by removing the dynamic configuration aspect, which is a good refactoring.

However, please ensure that removing the dynamic configuration does not adversely affect the initialization and behavior of the shared module. Verify that the module continues to function as expected with the default configuration.

libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts (1)

17-17: Refer to the previous comment.

The change is similar to the one in order-vehicle-registration-certificate.module.ts. Please refer to the comment made in that file.

libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts (1)

19-19: Refer to the previous comments.

The change is similar to the ones in order-vehicle-registration-certificate.module.ts and citizenship.module.ts. Please refer to the comments made in those files.

libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts (1)

18-18: Verify the impact of removing the dynamic configuration.

The change simplifies the module registration by removing the dynamic configuration aspect. This may impact how the module is initialized and configured, potentially affecting its behavior and integration with other components.

Please ensure that the SharedTemplateAPIModule still functions as expected without the dynamic configuration. Verify that any necessary configurations are properly handled elsewhere in the application.

Consider running the following script to search for potential issues related to this change:

Verification successful

No impact from removing dynamic configuration for SharedTemplateAPIModule.

The module is consistently used without dynamic configuration across the codebase, and there is no evidence of issues related to this change. The removal of register(config) aligns with the current usage pattern.

  • The SharedTemplateAPIModule is directly imported without configuration in various modules.
  • There is no usage of SharedTemplateAPIModule.register, confirming that dynamic configuration is not in use.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Search for potential issues related to the removal of dynamic configuration.

# Test: Search for any configurations being passed to `SharedTemplateAPIModule`. Expect: No results.
rg --type typescript -A 5 $'SharedTemplateAPIModule.register'

# Test: Search for any errors or warnings related to `SharedTemplateAPIModule`. Expect: No concerning logs.
rg --type log -A 5 $'SharedTemplateAPIModule'

Length of output: 289


Script:

#!/bin/bash
# Corrected script to search for potential issues related to the removal of dynamic configuration.

# Test: Search for any configurations being passed to `SharedTemplateAPIModule.register`. Expect: No results.
rg --glob '*.ts' -A 5 $'SharedTemplateAPIModule.register'

# Test: Search for any errors or warnings related to `SharedTemplateAPIModule`. Expect: No concerning logs.
rg -i 'error|warning' -A 5 $'SharedTemplateAPIModule'

Length of output: 173


Script:

#!/bin/bash
# Search for the definition of `SharedTemplateAPIModule` in the codebase.
rg --glob '*.ts' -A 5 'SharedTemplateAPIModule'

# Search for any references to `SharedTemplateAPIModule` in the codebase.
rg --glob '*.ts' -A 5 'SharedTemplateAPIModule'

Length of output: 270029

libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts (1)

17-17: Verify the impact of removing the dynamic configuration.

The change simplifies the module registration by removing the dynamic configuration aspect. This may impact how the module is initialized and configured, potentially affecting its behavior and integration with other components.

Please ensure that the SharedTemplateAPIModule still functions as expected without the dynamic configuration. Verify that any necessary configurations are properly handled elsewhere in the application.

Consider running the following script to search for potential issues related to this change:

Verification successful

Verification successful: No issues found with the removal of dynamic configuration.

The SharedTemplateAPIModule.register method was not in use elsewhere in the codebase, and no errors or warnings were found related to SharedTemplateAPIModule. This indicates that the module functions correctly without the dynamic configuration.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Search for potential issues related to the removal of dynamic configuration.

# Test: Search for any configurations being passed to `SharedTemplateAPIModule`. Expect: No results.
rg --type typescript -A 5 $'SharedTemplateAPIModule.register'

# Test: Search for any errors or warnings related to `SharedTemplateAPIModule`. Expect: No concerning logs.
rg --type log -A 5 $'SharedTemplateAPIModule'

Length of output: 289


Script:

#!/bin/bash
# Description: Search for potential issues related to the removal of dynamic configuration.

# Test: Search for any configurations being passed to `SharedTemplateAPIModule.register`. Expect: No results.
rg -A 5 $'SharedTemplateAPIModule.register'

# Test: Search for any errors or warnings related to `SharedTemplateAPIModule`. Expect: No concerning logs.
rg -A 5 $'SharedTemplateAPIModule'

Length of output: 136011

libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts (1)

20-20: Verify the impact of removing the dynamic configuration and adding a new dependency.

The change simplifies the module registration by removing the dynamic configuration aspect. This may impact how the module is initialized and configured, potentially affecting its behavior and integration with other components.

Please ensure that the SharedTemplateAPIModule still functions as expected without the dynamic configuration. Verify that any necessary configurations are properly handled elsewhere in the application.

Additionally, the PaymentScheduleClientModule has been added as a new dependency. Please verify that this module is properly utilized and does not introduce any issues or conflicts with existing functionality.

Consider running the following script to search for potential issues related to these changes:

libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts (1)

18-18: LGTM, but verify the impact of removing the dynamic configuration.

The change simplifies the registration of SharedTemplateAPIModule by removing the dynamic configuration aspect. This is approved.

However, ensure that this change is thoroughly tested to confirm that SharedTemplateAPIModule behaves as expected within UniversityModule without the provided configuration.

libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts (1)

20-20: LGTM, but verify the impact of removing the dynamic configuration.

The change simplifies the registration of SharedTemplateAPIModule by removing the dynamic configuration aspect. This is approved.

However, ensure that this change is thoroughly tested to confirm that SharedTemplateAPIModule behaves as expected within StreetRegistrationTemplateModule without the provided configuration.

libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts (1)

20-20: LGTM, but verify the impact of removing the dynamic configuration.

The change simplifies the registration of SharedTemplateAPIModule by removing the dynamic configuration aspect. This is approved.

However, ensure that this change is thoroughly tested to confirm that SharedTemplateAPIModule behaves as expected within TransferOfMachineOwnershipTemplateModule without the provided configuration.

libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts (1)

17-17: Simplified import process, but verify SharedTemplateAPIModule usage.

The change simplifies the import process by removing the dynamic configuration aspect. This is a good refactoring step to make the code more readable and maintainable.

However, please ensure that SharedTemplateAPIModule does not require any configuration and can function correctly with default settings. Verify that this change does not introduce any unintended side effects or break existing functionality.

Run the following script to verify the usage of SharedTemplateAPIModule:

Verification successful

SharedTemplateAPIModule Usage Verified

The SharedTemplateAPIModule is used extensively across the codebase without any configuration requirements, as there are no occurrences of SharedTemplateAPIModule.register. This confirms that the module functions correctly with default settings, and the refactoring does not introduce any unintended side effects.

  • The module is directly imported and used in various files without additional configuration.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify `SharedTemplateAPIModule` usage and check for any configuration requirements.

# Test 1: Search for the module usage. Expect: Only occurrences of direct import without configuration.
rg --type typescript -A 5 $'SharedTemplateAPIModule'

# Test 2: Search for any configuration usage. Expect: No occurrences of `SharedTemplateAPIModule.register`.
rg --type typescript $'SharedTemplateAPIModule\.register'

Length of output: 180


Script:

#!/bin/bash
# Description: Verify `SharedTemplateAPIModule` usage and check for any configuration requirements.

# Find all TypeScript files and search for `SharedTemplateAPIModule` usage.
fd --extension ts --exec rg 'SharedTemplateAPIModule' {}

# Search for any configuration usage like `register` associated with `SharedTemplateAPIModule`.
fd --extension ts --exec rg 'SharedTemplateAPIModule\.register' {}

Length of output: 6866

libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts (1)

22-22: LGTM!

The change simplifies the import process by removing the dynamic configuration aspect. This is a good refactoring step to make the code more readable and maintainable.

The module seems to rely on environment variables for configuration, so removing the dynamic configuration for SharedTemplateAPIModule may not have a significant impact.

libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts (1)

19-19: Simplified import process, but verify SharedTemplateAPIModule usage.

The change simplifies the import process by removing the dynamic configuration aspect. This is a good refactoring step to make the code more readable and maintainable.

However, please ensure that SharedTemplateAPIModule does not require any configuration and can function correctly with default settings. Verify that this change does not introduce any unintended side effects or break existing functionality.

Run the following script to verify the usage of SharedTemplateAPIModule:

Verification successful

Verification Successful: SharedTemplateAPIModule Usage Confirmed

The SharedTemplateAPIModule is used across various modules without requiring any dynamic configuration. There are no instances of SharedTemplateAPIModule.register, indicating that it functions correctly with default settings. This change does not introduce any unintended side effects or break existing functionality.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify `SharedTemplateAPIModule` usage and check for any configuration requirements.

# Test 1: Search for the module usage. Expect: Only occurrences of direct import without configuration.
rg --type typescript -A 5 $'SharedTemplateAPIModule'

# Test 2: Search for any configuration usage. Expect: No occurrences of `SharedTemplateAPIModule.register`.
rg --type typescript $'SharedTemplateAPIModule\.register'

Length of output: 180


Script:

#!/bin/bash
# Re-run the search for `SharedTemplateAPIModule` usage without specifying file type.
rg -A 5 'SharedTemplateAPIModule'

# Re-run the search for any configuration usage without specifying file type.
rg 'SharedTemplateAPIModule\.register'

Length of output: 136009

libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts (1)

21-21: Verify the impact of removing the SharedTemplateAPIModule configuration.

The change simplifies the import of SharedTemplateAPIModule by removing the dynamic configuration aspect. This may affect how SharedTemplateAPIModule behaves within ParentalLeaveModule, potentially leading to a default initialization instead of a customized one based on the previous configuration.

Ensure that the desired behavior is maintained after this change and thoroughly test the functionality.

libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts (1)

24-24: Verify the impact of removing the SharedTemplateAPIModule configuration.

The change simplifies the inclusion of SharedTemplateAPIModule by removing the configuration-based registration. This may affect how dependencies are managed or initialized within the application, potentially indicating that the configuration is now handled differently or assumed to be managed elsewhere.

Ensure that the desired behavior is maintained after this change and thoroughly test the functionality.

libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts (1)

23-23: Verify the impact of removing the SharedTemplateAPIModule configuration.

The change simplifies the import of SharedTemplateAPIModule by removing the dynamic configuration aspect. This may affect how SharedTemplateAPIModule behaves within InstitutionCollaborationModule, potentially indicating that it can now be used without specific configuration or that the configuration is handled elsewhere.

Ensure that the desired behavior is maintained after this change and thoroughly test the functionality.

libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts (1)

23-23: Simplification of module import looks good, but verify it doesn't break functionality.

The change simplifies the module import by removing the configuration parameter, which is a good practice to follow when the configuration is not necessary.

However, please ensure that the SharedTemplateAPIModule functions correctly without any configuration and that this change doesn't introduce any unintended side effects or break existing functionality.

libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts (1)

23-23: Simplification of module import looks good, but verify it doesn't break functionality.

The change simplifies the module import by removing the configuration parameter, which is a good practice to follow when the configuration is not necessary.

However, please ensure that the SharedTemplateAPIModule functions correctly without any configuration and that this change doesn't introduce any unintended side effects or break existing functionality.

libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts (1)

27-27: Simplification of module import looks good, but verify it doesn't break functionality across all changed files.

The change simplifies the module import by removing the configuration parameter, which is a good practice to follow when the configuration is not necessary.

However, as this change has been made in multiple files, please ensure that the SharedTemplateAPIModule functions correctly without any configuration across all the modified files and that this change doesn't introduce any unintended side effects or break existing functionality.

libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts (1)

27-27: Verify the impact of removing dynamic configuration and adherence to best practices.

The change simplifies the module registration by removing the dynamic configuration aspect. This allows for a more straightforward import process but may affect how configuration is handled within the module.

Verify the following:

  • Ensure that removing the dynamic configuration does not break any existing functionality or introduce unexpected behavior.
  • Confirm that the SharedTemplateAPIModule and HealthInsuranceV2ClientModule do not rely on any configuration being passed during registration.
  • Adhere to the following best practices:
    • Reusability of components and hooks across different NextJS apps.
    • TypeScript usage for defining props and exporting types.
    • Effective tree-shaking and bundling practices.
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts (1)

36-36: Verify the impact of removing custom configuration.

The change removes the custom configuration being passed to SharedTemplateAPIModule during registration. This may affect the module's initialization and interaction with other components, potentially leading to a default behavior that differs from the previously defined configuration.

Verify the following:

  • Ensure that removing the custom configuration does not break any existing functionality or introduce unexpected behavior.
  • Confirm that the SharedTemplateAPIModule does not rely on any specific configuration being passed during registration.
  • If the default configuration of SharedTemplateAPIModule differs from the previously used custom configuration, assess the impact on the overall functionality of the TransferOfVehicleOwnershipModule.
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts (1)

40-40: Verify the impact of removing custom configuration.

The change removes the custom configuration being passed to SharedTemplateAPIModule during registration. This may affect how the SharedTemplateAPIModule behaves within the context of the ChangeCoOwnerOfVehicleModule, potentially leading to a default configuration being used instead of a customized one.

Verify the following:

  • Ensure that removing the custom configuration does not break any existing functionality or introduce unexpected behavior.
  • Confirm that the SharedTemplateAPIModule does not rely on any specific configuration being passed during registration.
  • If the default configuration of SharedTemplateAPIModule differs from the previously used custom configuration, assess the impact on the functionality of the ChangeCoOwnerOfVehicleModule.
libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts (1)

40-40: Simplification of module registration looks good, but verify the module's interaction with other components.

The change simplifies the module registration by removing the need to pass a configuration object. This aligns with the pattern used in the README.md file.

However, please ensure that this change is thoroughly tested to confirm that the module interacts correctly with other components in the application.

Run the following script to verify the module's interaction:

Verification successful

The change to use SharedTemplateAPIModule directly is consistent and verified.

The usage of SharedTemplateAPIModule without configuration aligns with its implementation across multiple modules in the codebase. This confirms that the change should not affect the module's interaction with other components.

  • The module is consistently used without configuration in various files, indicating that this is the intended usage pattern.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify `SharedTemplateAPIModule` is correctly imported and used.

# Test: Search for the module registration. Expect: Only the simplified import statement.
rg --type typescript -A 5 $'SharedTemplateAPIModule'

Length of output: 86


Script:

#!/bin/bash
# Description: Verify `SharedTemplateAPIModule` is correctly imported and used.

# Test: Search for the module registration. Expect: Only the simplified import statement.
rg --type ts -A 5 $'SharedTemplateAPIModule'

Length of output: 135010

libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts (13)

2-2: LGTM!

The ConfigType import is necessary to define the type of the config property.


25-25: LGTM!

The sharedModuleConfig import is necessary to inject the configuration into the service.


26-26: LGTM!

The import update aligns with the change in the constructor parameter type.


27-30: LGTM!

The added imports are necessary for the new functionality introduced in the service.


42-43: LGTM!

The changes enhance type safety and clarity regarding the configuration being used throughout the service.


45-46: LGTM!

The changes align with the updated imports and enhance type safety.


48-48: LGTM!

The AwsService injection is necessary for the new functionality introduced in the service.


54-56: LGTM!

The change simplifies the code and reduces the number of function calls, making the logic more straightforward.


66-67: LGTM!

The changes simplify the code and reduce the number of function calls, making the logic more straightforward.

Also applies to: 80-81, 98-98, 100-100, 120-121, 147-148


171-171: LGTM!

The change simplifies the code and reduces the number of function calls, making the logic more straightforward.


214-214: LGTM!

The change is part of the new functionality introduced in the service.


263-263: LGTM!

The change simplifies the code and reduces the number of function calls, making the logic more straightforward.


275-339: LGTM!

The new methods are part of the new functionality introduced in the service. They use the injected dependencies and configurations to perform their tasks and follow the existing coding style and conventions.

libs/application/template-api-modules/README.md (1)

38-38: LGTM!

The change aligns with the modifications made in the change-operator-of-vehicle.module.ts file and simplifies the module registration by removing the need to pass a configuration object.

@norda-gunni norda-gunni force-pushed the feat/application-system-config branch from 32379b8 to 549f546 Compare October 9, 2024 13:42
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Outside diff range and nitpick comments (15)
libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts (1)

1-16: Adherence to coding guidelines for libs directory

The changes adhere to the coding guidelines for files in the libs directory:

  1. Reusability: The module is defined in a way that can be easily imported and used across different NextJS apps.
  2. TypeScript usage: The code uses TypeScript, with clear type definitions for the imported modules.
  3. Tree-shaking and bundling: The direct imports in the @Module decorator support effective tree-shaking.

However, to further improve adherence to the guidelines:

  • Consider exporting any relevant types or interfaces used by this module to enhance its usability across different apps.
  • Evaluate if any of the imported modules (SharedTemplateAPIModule, NationalRegistryXRoadModule, FriggClientModule) can be made optional to improve tree-shaking in cases where they're not needed.

Consider adding explicit exports for any types or interfaces used by this module:

// Add this at the end of the file
export type { SomeRelevantType } from './some-file'

Replace SomeRelevantType and ./some-file with actual types and file paths relevant to this module.

libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts (1)

1-22: Adherence to coding guidelines for libs//* files**

The code adheres to the guidelines by using TypeScript and potentially allowing for reusability through the exported service. However, to further improve adherence to the guidelines:

  1. Consider adding documentation comments to explain how this module supports tree-shaking and efficient bundling.
  2. If there are any specific props or types that should be exported for use in different NextJS apps, ensure they are clearly defined and exported.

Would you like assistance in drafting documentation comments for tree-shaking and bundling practices?

libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts (2)

15-26: Well-structured module configuration with room for enhancement

The module configuration is well-structured and follows NestJS conventions. The use of ConfigModule.forRoot with isGlobal: true ensures proper configuration management. The module correctly imports necessary dependencies and exports EnergyFundsService for reusability.

To further improve type safety and adhere to TypeScript best practices, consider defining and exporting an interface for the module's configuration:

export interface EnergyFundsModuleConfig {
  // Define configuration properties here
}

@Module({
  // ... existing configuration
})
export class EnergyFundsModule {
  static forRoot(config: EnergyFundsModuleConfig): DynamicModule {
    return {
      module: EnergyFundsModule,
      providers: [
        {
          provide: 'ENERGY_FUNDS_CONFIG',
          useValue: config,
        },
      ],
    };
  }
}

This enhancement would improve type checking and provide better documentation for the module's configuration options.


27-27: Module export improved, consider further enhancements

The refactoring to a static module using the @Module decorator has improved the code structure. This change partially addresses the previous review comments by enhancing clarity and maintainability.

However, if the module requires configuration flexibility across different contexts, consider implementing the forRoot pattern as suggested in the previous review:

export class EnergyFundsModule {
  static forRoot(options: EnergyFundsModuleOptions): DynamicModule {
    return {
      module: EnergyFundsModule,
      providers: [
        {
          provide: 'ENERGY_FUNDS_OPTIONS',
          useValue: options,
        },
      ],
    };
  }
}

This would further improve the module's reusability and configurability, aligning with the coding guidelines for reusable components across different NextJS apps. If the current static structure suffices for all use cases, please disregard this suggestion.

libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts (1)

Line range hint 6-15: Consider moving environment variable handling to a separate configuration file.

The environment variables are directly accessed in the module file. To improve maintainability and adhere to the principle of separation of concerns, consider moving this configuration to a separate file.

Here's a suggested approach:

  1. Create a new file login-service.config.ts:
export const loginServiceConfig = {
  applicationRecipientName: process.env.LOGIN_SERVICE_APPLICATION_RECIPIENT_NAME ?? '',
  applicationRecipientEmail: process.env.LOGIN_SERVICE_APPLICATION_RECIPIENT_EMAIL_ADDRESS ?? 'island@island.is',
  applicationSenderName: process.env.EMAIL_FROM_NAME ?? '',
  applicationSenderEmail: process.env.EMAIL_FROM ?? 'development@island.is',
};
  1. Import and use this configuration in the module file:
import { loginServiceConfig } from './login-service.config';

@Module({
  // ...
  providers: [
    {
      provide: LOGIN_SERVICE_CONFIG,
      useValue: loginServiceConfig,
    },
    // ...
  ],
  // ...
})
export class LoginServiceModule {}

This refactoring will improve the module's structure and make it easier to manage configuration changes in the future.

libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts (3)

Line range hint 7-17: Consider enhancing configuration management.

While using environment variables is a good practice, consider the following improvements:

  1. Use a centralized configuration service or a dedicated configuration file to manage these variables. This would improve maintainability and make it easier to manage configurations across different environments.

  2. Implement stronger typing for the configuration values. This aligns with the TypeScript usage guideline for libs/**/* files.

  3. Consider using a library like dotenv or @nestjs/config for more robust environment variable management.

Example of a typed configuration setup:

import { ConfigService } from '@nestjs/config';

interface FundingGovernmentProjectsConfig {
  applicationRecipientName: string;
  applicationRecipientEmail: string;
  applicationSenderName: string;
  applicationSenderEmail: string;
}

// In the module:
{
  provide: FUNDING_GOVERNMENT_PROJECTS_CONFIG,
  useFactory: (configService: ConfigService): FundingGovernmentProjectsConfig => ({
    applicationRecipientName: configService.get('FUNDING_GOVERNMENT_PROJECTS_APPLICATION_RECIPIENT_NAME', ''),
    applicationRecipientEmail: configService.get('FUNDING_GOVERNMENT_PROJECTS_APPLICATION_RECIPIENT_EMAIL_ADDRESS', 'island@island.is'),
    applicationSenderName: configService.get('EMAIL_FROM_NAME', ''),
    applicationSenderEmail: configService.get('EMAIL_FROM', 'development@island.is'),
  }),
  inject: [ConfigService],
}

18-34: LGTM: Module structure follows NestJS best practices.

The refactoring to use the @Module decorator simplifies the module definition and improves readability. The imports, providers, and exports are well-organized.

Minor suggestion for consistency:

Consider using a constant for the configuration token:

const FUNDING_GOVERNMENT_PROJECTS_CONFIG_TOKEN = 'FUNDING_GOVERNMENT_PROJECTS_CONFIG';

@Module({
  // ...
  providers: [
    {
      provide: FUNDING_GOVERNMENT_PROJECTS_CONFIG_TOKEN,
      useValue: {
        // ...
      },
    },
    FundingGovernmentProjectsService,
  ],
  // ...
})

This approach enhances type safety and makes it easier to refactor in the future.


Line range hint 1-34: Good adherence to coding guidelines, with room for improvement.

The module generally follows the guidelines for libs/**/* files:

  1. It's structured for reusability across different NextJS apps.
  2. It uses TypeScript, although type usage can be enhanced.
  3. The structure supports effective tree-shaking and bundling.

Suggestions for improvement:

  1. Enhance TypeScript usage:

    • Define and export interfaces for the configuration object.
    • Use these interfaces in the service for better type safety.
  2. Improve reusability:

    • Consider creating a base class or interface for the configuration that can be extended/implemented by other similar modules.

Example:

export interface FundingGovernmentProjectsConfig {
  applicationRecipientName: string;
  applicationRecipientEmail: string;
  applicationSenderName: string;
  applicationSenderEmail: string;
}

@Module({
  // ...
  providers: [
    {
      provide: FUNDING_GOVERNMENT_PROJECTS_CONFIG,
      useValue: {
        applicationRecipientName,
        applicationRecipientEmail,
        applicationSenderName,
        applicationSenderEmail,
      } as FundingGovernmentProjectsConfig,
    },
    FundingGovernmentProjectsService,
  ],
  // ...
})
export class FundingGovernmentProjectsModule {}

// Export the interface for use in other parts of the application
export { FundingGovernmentProjectsConfig };

These changes will enhance type safety, improve reusability, and make the module more robust for use across different NextJS apps.

libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts (3)

5-32: LGTM: Comprehensive mock configuration added.

The mockConfig object provides a well-structured representation of the expected configuration. This will be useful for testing purposes.

Consider using environment variables or a separate test configuration file for potentially sensitive information like jwtSecret to enhance security practices in the test suite.


91-92: LGTM: Improved test suite structure.

The new describe('shared utils', ...) block provides a better organization for testing various utility functions.

Consider adding more specific test cases for other utility functions within this block to ensure comprehensive coverage of the shared utilities.

Also applies to: 94-95


98-101: LGTM: Effective test case for getConfigValue.

The test case correctly verifies the functionality of getConfigValue for retrieving the clientLocationOrigin.

Consider adding more test cases to verify the retrieval of nested configuration values (e.g., templateApi.email.sender) and edge cases (e.g., non-existent keys) to ensure robust testing of the getConfigValue function.

libs/application/template-api-modules/README.md (4)

Line range hint 183-226: LGTM! Clear instructions for data provider integration.

The new instructions for integrating shared and custom data providers are well-written and provide valuable guidance. The example code effectively demonstrates the usage of defineTemplateApi and the setup of data provider definitions.

To further enhance clarity, consider adding a brief explanation of the purpose and benefits of using data providers in the context of template APIs.


Line range hint 228-280: LGTM! Comprehensive error handling and parameters documentation.

The new sections on error handling and parameters are well-documented and provide clear examples. The use of TemplateApiError for custom error handling and the explanation of how to define and use parameters in template API actions significantly enhance the API's robustness and flexibility.

To make the documentation even more comprehensive, consider adding a brief example of how to handle these custom errors on the client side.


Line range hint 282-315: LGTM! Clear instructions for setting up shared data providers.

The new instructions for setting up shared data providers are well-structured and provide a comprehensive guide. The step-by-step approach, along with example code for defining shared API parameters and creating the necessary module and service, is very helpful.

To further improve the documentation, consider adding a brief explanation of the benefits of using shared data providers and when developers should opt for them over custom providers.


Line range hint 317-341: LGTM! Useful instructions for enabling payment mocking.

The new section on enabling payment mocking during development is a valuable addition to the documentation. The instructions are clear, and the example code demonstrates how to implement this feature effectively.

To make this section even more helpful, consider adding a note about the importance of disabling mock payments in production environments and how to ensure this is done correctly.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 32379b8 and 549f546.

📒 Files selected for processing (82)
  • apps/application-system/api/src/app/app.module.ts (2 hunks)
  • apps/application-system/api/src/app/modules/application/application.module.ts (1 hunks)
  • apps/application-system/api/src/app/modules/application/e2e/application.spec.ts (3 hunks)
  • libs/application/template-api-modules/README.md (1 hunks)
  • libs/application/template-api-modules/src/lib/index.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/application/application.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/directorate-of-immigration/directorate-of-immigration.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/driving-license/driving-license.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/education/inna.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/health-insurance/health-insurance.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/identity/identity.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/index.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/national-registry/national-registry.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/passport/passport.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.service.ts (3 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/syslumenn/syslumenn.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/user-profile/user-profile.service.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/api/vehicles/vehicles.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/index.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts (12 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/template-api.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts (3 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.service.ts (4 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/driving-school-confirmation/driving-school-confirmation.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/general-petition/general-petition.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/index.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts (1 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts (2 hunks)
  • libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.ts (3 hunks)
⛔ Files not processed due to max files limit (23)
  • libs/application/template-api-modules/src/lib/modules/templates/passport-annulment/passport-annulment.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-creation/parliamentary-list-creation.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-signing/parliamentary-list-signing.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.service.spec.ts
  • libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.service.ts
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-company-card/digital-tachograph-company-card.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts
  • libs/application/template-api-modules/src/lib/types/index.ts
🚧 Files skipped from review as they are similar to previous changes (69)
  • apps/application-system/api/src/app/app.module.ts
  • apps/application-system/api/src/app/modules/application/application.module.ts
  • apps/application-system/api/src/app/modules/application/e2e/application.spec.ts
  • libs/application/template-api-modules/src/lib/index.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/application/application.module.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/directorate-of-immigration/directorate-of-immigration.module.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/driving-license/driving-license.module.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/education/inna.module.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/health-insurance/health-insurance.module.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/identity/identity.module.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/index.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/national-registry/national-registry.module.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/passport/passport.module.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.module.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.service.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/syslumenn/syslumenn.module.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/user-profile/user-profile.service.ts
  • libs/application/template-api-modules/src/lib/modules/shared/api/vehicles/vehicles.module.ts
  • libs/application/template-api-modules/src/lib/modules/shared/index.ts
  • libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts
  • libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts
  • libs/application/template-api-modules/src/lib/modules/template-api.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts
  • libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.ts
  • libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.service.ts
  • libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/driving-school-confirmation/driving-school-confirmation.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/general-petition/general-petition.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/index.ts
  • libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts
  • libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts
  • libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.ts
🧰 Additional context used
📓 Path-based instructions (13)
libs/application/template-api-modules/README.md (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
🔇 Additional comments (35)
libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts (1)

7-16: Simplified module definition using @module decorator

The refactoring from a static register method to the @Module decorator simplifies the module definition and aligns with NestJS best practices. This change improves code readability and maintainability.

However, consider the following points:

  1. The removal of the BaseTemplateAPIModuleConfig parameter might impact the module's flexibility. Ensure that this change doesn't affect any existing functionality that relied on dynamic configuration.
  2. The SharedTemplateAPIModule, NationalRegistryXRoadModule, and FriggClientModule are now always imported, which might increase the bundle size. Verify if all these modules are necessary for every use case of NewPrimarySchoolModule.

To ensure that this change doesn't break existing functionality, let's verify the usage of this module:

✅ Verification successful

Verified module usage within the codebase

The search for imports of NewPrimarySchoolModule returned only internal references in libs/application/template-api-modules/src/lib/modules/templates/index.ts. This confirms that the refactoring to use the @Module decorator does not impact external consumers and maintains existing functionality.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for imports of NewPrimarySchoolModule
rg --type typescript "import.*NewPrimarySchoolModule" -A 5

Length of output: 95


Script:

#!/bin/bash
# Search for imports of NewPrimarySchoolModule in TypeScript files
rg "import.*NewPrimarySchoolModule" --glob "*.ts" -A 5

Length of output: 923

libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts (2)

1-6: Imports look good and follow best practices.

The imports are well-organized and follow TypeScript and NestJS conventions. They include necessary NestJS decorators, local services, and external modules, which aligns with the module's purpose.


7-16: Module structure looks good, but consider the impact of refactoring.

The module structure follows NestJS best practices and adheres to the coding guidelines for libs/**/* files:

  • It's reusable across different NextJS apps.
  • It uses TypeScript for defining the module structure.
  • The static nature of the module supports effective tree-shaking and bundling.

However, changing from a dynamic to a static module might impact how this module is used in other parts of the application.

To ensure this change doesn't break existing code, please run the following script:

If these searches return results, you may need to update the usage of this module in other parts of the application.

libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts (1)

10-21: Approve module declaration refactoring, but clarify SharedTemplateAPIModule configuration

The refactoring to use the @Module decorator for static declaration is a good improvement. However, please clarify how the SharedTemplateAPIModule is configured now that it's imported directly without parameters. Ensure that this change doesn't impact its reusability across different NextJS apps.

To verify the SharedTemplateAPIModule configuration, please run:

✅ Verification successful

Verification Successful: SharedTemplateAPIModule Configuration Confirmed

The SharedTemplateAPIModule is consistently imported directly without configuration parameters across multiple modules, indicating that its reusability across different NextJS apps remains unaffected by the refactoring.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check SharedTemplateAPIModule configuration and usage
rg --type typescript -A 10 "class SharedTemplateAPIModule"
rg --type typescript "import.*SharedTemplateAPIModule"

Length of output: 187


Script:

#!/bin/bash
# Description: Check SharedTemplateAPIModule configuration and usage
rg --type ts -A 10 "class SharedTemplateAPIModule"
rg --type ts "import.*SharedTemplateAPIModule"

Length of output: 17178

libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts (1)

Line range hint 1-13: Improved module structure and imports

The refactoring from a dynamic module to a static module using the @Module decorator enhances code clarity and adheres to NestJS best practices. The import statements are well-organized and include all necessary dependencies. This structure allows for better tree-shaking and bundling, which aligns with the coding guidelines for effective practices in NextJS apps.

Also applies to: 14-27

libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts (3)

1-20: Code adheres to specified coding guidelines for shared libraries.

The module definition follows the guidelines for files in the libs directory:

  • It promotes reusability across different NextJS apps.
  • TypeScript is used effectively for defining the module structure.
  • The code structure supports efficient tree-shaking and bundling.

9-20: Refactoring improves module structure and aligns with NestJS best practices.

The use of the @Module decorator and direct imports simplifies the module definition, enhancing readability and maintainability. This approach aligns well with NestJS conventions.

Please verify that the configuration previously passed to the register method is now properly handled, possibly through SharedTemplateAPIModule. Run the following script to check for configuration usage:

#!/bin/bash
# Description: Check for configuration usage in SharedTemplateAPIModule and related files

# Search for configuration-related code in SharedTemplateAPIModule
echo "Checking SharedTemplateAPIModule for configuration usage:"
rg "config" libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts -A 5 -g "*.ts"

# Check for environment variables related to configuration
echo "Checking for environment variable usage in SharedTemplateAPIModule:"
rg "process.env" libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts -A 5 -g "*.ts"

1-20: Update documentation and verify module usage across the project.

The significant changes to the module structure, particularly the removal of the register method, may impact how this module is used throughout the project.

Please take the following actions:

  1. Update any documentation or usage examples that reference the old module structure.
  2. Verify that all consumers of this module have been updated to use the new import pattern.
  3. Run the following script to check for any remaining usage of the old register method:

If any results are found, update those occurrences to use the new module structure.

✅ Verification successful

Verification Successful: No usages of OperatingLicenseModule.register found.

The removal of the register method does not impact any module usage within the project.

Please proceed to update the related documentation to reflect this change.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for outdated usage of OperatingLicenseModule.register

echo "Searching for outdated OperatingLicenseModule.register usage:"
rg "OperatingLicenseModule\.register" -g "*.ts"

Length of output: 484


Script:

#!/bin/bash
# Description: Comprehensive search for any usage of OperatingLicenseModule.register and related configurations

echo "Searching for any usage of OperatingLicenseModule.register across TypeScript files:"
rg "OperatingLicenseModule\.register" --type ts

echo "Searching for any configuration or setup related to OperatingLicenseModule:"
rg "OperatingLicenseModule" --type ts

Length of output: 830

libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts (2)

1-9: LGTM: Import statements are appropriate.

The addition of ApplicationModule aligns with the updated module structure. All imports appear to be used within the module definition.


11-23: Excellent refactoring of the SharedTemplateAPIModule.

The module definition has been successfully simplified by:

  1. Removing the dynamic registration process.
  2. Using the @Module decorator for static configuration.
  3. Adding ApplicationModule to the imports.

These changes align with the previous review comments and improve the module's structure. The simplified definition enhances readability and maintainability while adhering to NestJS best practices.

libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts (3)

1-1: LGTM: Import statement updated correctly.

The import statement has been updated from DynamicModule to Module, which aligns with the new static module structure.


17-33: Verify the impact of changing from dynamic to static module.

The module has been refactored from a dynamic module to a static one using the @Module decorator. This change simplifies the module structure but may affect how the module is used in other parts of the application.

Please run the following script to check for any remaining usage of the old register method:


Line range hint 1-33: Ensure compliance with coding guidelines for libs//* files.**

The code appears to adhere to the coding guidelines for files in the libs directory. However, please verify the following:

  1. Reusability: The LoginServiceModule seems to be designed for reuse across different NextJS apps.
  2. TypeScript usage: Ensure that the LOGIN_SERVICE_CONFIG token is properly typed, preferably in a separate types file.
  3. Tree-shaking and bundling: The current structure should support effective tree-shaking, but consider adding explicit exports in an index.ts file for better control over what's exposed from this module.

To verify TypeScript usage and exports, please run the following script:

libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts (1)

Line range hint 1-6: LGTM: Imports and module structure are well-organized.

The imports are concise and relevant to the module's functionality. This approach supports effective tree-shaking and bundling practices, which aligns with the coding guidelines for libs/**/* files.

libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts (3)

22-45: Excellent refactoring to use @module decorator

The transition from a static register method to the @Module decorator is a positive change. It aligns with NestJS best practices, improving code readability and maintainability. This approach is more idiomatic and easier to understand for developers familiar with NestJS.


23-23: LGTM: Appropriate imports and exports

The module's imports (SharedTemplateAPIModule and RightsPortalClientModule) and export (AccidentNotificationService) are well-defined and appropriate for the module's functionality. The use of shared modules promotes code reusability across different NextJS apps, which aligns with best practices for library development.

Also applies to: 43-43


26-32: 🛠️ Refactor suggestion

Consider using a configuration service for improved type safety and management

The current approach of directly using environment variables in the module configuration can lead to potential runtime errors and lacks type safety. As suggested in a previous review, implementing a configuration service using @nestjs/config would provide better type safety, centralized management of environment variables, and easier testing.

Example implementation:

import { ConfigModule, ConfigService } from '@nestjs/config';

@Module({
  imports: [
    ConfigModule.forRoot(),
    // other imports...
  ],
  providers: [
    {
      provide: ACCIDENT_NOTIFICATION_CONFIG,
      useFactory: (configService: ConfigService) => ({
        applicationRecipientName: configService.get('ACCIDENT_NOTIFICATION_APPLICATION_RECIPIENT_NAME', ''),
        applicationRecipientEmail: configService.get('ACCIDENT_NOTIFICATION_APPLICATION_RECIPIENT_EMAIL_ADDRESS', 'island@island.is'),
        applicationSenderName: configService.get('EMAIL_FROM_NAME', ''),
        applicationSenderEmail: configService.get('EMAIL_FROM', 'development@island.is'),
      }),
      inject: [ConfigService],
    },
    // other providers...
  ],
})
export class AccidentNotificationModule {}

This approach would enhance the overall robustness and maintainability of the configuration management.

libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts (2)

1-1: LGTM: Import statement updated correctly.

The import statement has been updated to use SharedModuleConfig, which aligns with the changes mentioned in the AI-generated summary.

As previously noted, please ensure that all instances of BaseTemplateAPIModuleConfig are updated across the codebase to maintain consistency.


Line range hint 1-101: Overall improvements with a note on test coverage.

The changes in this file effectively update the configuration type, introduce a comprehensive mock configuration, and improve the test suite structure. These updates align well with the AI-generated summary and enhance the clarity of the tests.

However, it appears that some previous tests have been removed. Please review the removed tests to ensure no valuable coverage has been lost. If necessary, consider reintroducing or adapting those tests to work with the new SharedModuleConfig.

To help verify the changes in test coverage, you can run the following script:

This script will help identify any significant changes in test coverage between the current and previous versions.

libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts (12)

2-2: LGTM: Updated imports and constructor

The changes to imports and constructor align well with the new configuration approach and adhere to TypeScript usage guidelines.

Also applies to: 24-28, 40-44


50-52: LGTM: Improved token creation logic

The refactoring of createAssignToken to use the new createToken method improves modularity and reusability.


62-63: LGTM: Updated configuration access and improved type safety

The changes consistently use the new configuration structure and add return type annotations, enhancing type safety and maintainability.

Also applies to: 76-77, 94-94, 96-96, 116-117


167-167: LGTM: Updated configuration access

The change consistently uses the new configuration structure.


Line range hint 210-214: Fix typo in method name 'saveAttachmentToApplicaton'

The method name saveAttachmentToApplicaton contains a typo. It should be saveAttachmentToApplication.

Apply this diff to correct the method name:

- return this.saveAttachmentToApplicaton(
+ return this.saveAttachmentToApplication(

Ensure all references to this method are updated accordingly.


Line range hint 210-214: LGTM: Improved modularity in attachment handling

The refactoring of addAttachment to use a separate method for saving attachments improves modularity and reusability.


272-303: LGTM: Well-implemented attachment saving logic

The new saveAttachmentToApplicaton method effectively encapsulates the logic for saving attachments to S3 and updating the application. The use of the injected AwsService is good for testability.


305-317: LGTM: Implemented nonce generation and storage

The new storeNonceForApplication method effectively generates and stores a nonce for each application, enhancing security. Remember to update the uuid usage as mentioned in the earlier comment about the deprecated package.


319-335: LGTM: Implemented token creation with nonce

The new createToken method effectively creates a JWT token with a nonce, enhancing security. Please address the security considerations mentioned in the previous comment.


27-27: ⚠️ Potential issue

Replace deprecated 'uuidv4' package with 'uuid'

The uuidv4 package is deprecated. It's recommended to use the uuid package instead.

Apply this diff to update the import:

- import { uuid } from 'uuidv4'
+ import { v4 as uuid } from 'uuid'

Update your usage of uuid() to uuid() throughout the file.


272-303: ⚠️ Potential issue

Fix typo in method name 'saveAttachmentToApplicaton'

The method name saveAttachmentToApplicaton contains a typo. It should be saveAttachmentToApplication.

Apply this diff to correct the method name:

- async saveAttachmentToApplicaton(
+ async saveAttachmentToApplication(

Ensure all references to this method are updated accordingly.


325-333: ⚠️ Potential issue

Enhance JWT security

  1. Avoid including sensitive data in JWT payload:
    Including application.state in the JWT payload may expose sensitive information. Consider excluding state from the token payload unless it's essential.

  2. Specify JWT signing algorithm explicitly:
    When signing the JWT, it's recommended to explicitly specify the algorithm to avoid potential security risks.

Apply these diffs to address the issues:

  1. Remove potentially sensitive data:
 const token = jwt.sign(
   {
     applicationId: application.id,
-    state: application.state,
     nonce,
   },
   secret,
   { expiresIn },
 )
  1. Specify the algorithm:
 const token = jwt.sign(
   {
     applicationId: application.id,
     nonce,
   },
   secret,
-  { expiresIn },
+  { expiresIn, algorithm: 'HS256' },
 )

Ensure that the algorithm you specify aligns with your security requirements.

libs/application/template-api-modules/README.md (1)

22-35: LGTM! Excellent refactoring of the module definition.

The changes to the module definition example are well-implemented. The use of the @Module decorator simplifies the code and aligns with modern NestJS practices. This refactoring successfully addresses the previous suggestion to remove the DynamicModule and register function.

libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts (3)

1-1: Approved: Correct import of the Module decorator

The import statement has been updated to import Module from @nestjs/common, which aligns with the refactored module structure.


14-27: Approved: Module refactored correctly with the @Module decorator

The module is properly defined using the @Module decorator, and the necessary imports, providers, and exports are correctly specified. This improves code clarity and aligns with NestJS best practices.


14-27: ⚠️ Potential issue

Ensure the removal of register method does not affect dependent modules

The register static method has been removed from the TransferOfMachineOwnershipTemplateModule. Please verify that no other parts of the codebase rely on this method for module initialization, as this could result in runtime errors or broken functionality.

You can run the following script to search for any usage of the register method:

@norda-gunni norda-gunni added automerge Merge this PR as soon as all checks pass and removed deploy-feature Deploys features to dev labels Oct 9, 2024
@kodiakhq kodiakhq bot merged commit fb6d2cf into main Oct 9, 2024
38 checks passed
@kodiakhq kodiakhq bot deleted the feat/application-system-config branch October 9, 2024 16:08
busla pushed a commit that referenced this pull request Oct 10, 2024
* feat(application-system): Add validated config

* Add sharedConfig to appModule

* Cleanup

* PR comment

* PR comment fixes

* Remove unused import

* SharedTemplateAPIModule no longer dynamically registered

* local fallback for attachment bucket

* Add error logging

* Modules that no longer need to be dynamic are no longer dynamic

* Update readme

* Post merge conflict fix

* Cleanup

* fix shared.utils

* Cleanup

* Fixes

* Fix test

* fix tests

* Fix lint

* Update social-insurance-administration.service to static module

* Remove unused import

* transition parental leave module to static

* Transition children residence change to static module

* cleanup shared utils

* fix test

* coderabbit suggestion

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge Merge this PR as soon as all checks pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.